home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2002 #11 / Amiga Plus CD - 2002 - No. 11.iso / Tools / Development / PowerD / powerd / source / lib / powerd_lib.lha / PowerD_PPC / RealVal.d < prev    next >
Text File  |  2000-11-20  |  475b  |  33 lines

  1. OPT    NOEXE,PPC
  2.  
  3. PROC RealVal(str:PTR TO CHAR,pos=0)(DOUBLE,LONG)
  4.     DEFD    d=0.0,f,o=0.1
  5.     DEFL    n,m,pre=TRUE:BOOL,sign
  6.     WHILE str[pos]=" " OR str[pos]="\n" OR str[pos]="\t" DO pos++
  7.     IF str[pos]="-"
  8.         sign:=-1
  9.         pos++
  10.     ELSE
  11.         sign:=1
  12.     ENDIF
  13.     WHILE m:=str[pos]
  14.         IF m>="0" AND m<="9"
  15.             n:=m-"0"
  16.             IF pre
  17.                 d*=10
  18.                 d+=n
  19.             ELSE
  20.                 f:=n
  21.                 f*=o
  22.                 d+=f
  23.                 o*=0.1
  24.             ENDIF
  25.         ELSEIF m="."
  26.             pre:=FALSE
  27.         ELSE
  28.             RETURN d*sign,pos
  29.         ENDIF
  30.         pos++
  31.     ENDWHILE
  32. ENDPROC d*sign,pos
  33.